package com.asm.repository;

import com.asm.entity.sys.Maintenance;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author zhangyufu
 * @description 处理报障信息申请
 * @date 2019/7/12
 */
@Repository
public interface MaintenanceRepository extends JpaRepository<Maintenance, Long> {

    /**
     * 根据状态查询报障信息
     *
     * @param status 状态
     * @param isDel 是否被删除
     * @return
     */
    List<Maintenance> findByStatusAndIsDel(String status, Boolean isDel);

    /**
     * 根据用户编号查询报障信息
     *
     * @param customerId 用户编号
     * @param pageable   分页
     * @return 报障信息
     */
    @Query("select c from Maintenance c where c.customerId=:customerId and c.isDel=false ")
    Page<Maintenance> findByCustomerId(@Param("customerId") Long customerId, Pageable pageable);

    /**
     * 根据业务员编号查询报障信息
     *
     * @param sellId 业务员编号
     * @param isDel 是否被删除
     * @return 报障信息
     */
    List<Maintenance> findBySellIdAndIsDel(Long sellId, Boolean isDel);
}
